Đếm trùng lặp bằng vba trong excel
Bạn cần phải đếm xem có bao nhiêu giá trị lặp lại trong 2 range nào đó hoặc đếm xem có bao nhiêu giá trị lặp lại trong 2 mảng khác nhau. Bạn sẽ cần phải sử dụng đến đoạn code dưới đây để giải quyết vấn đề.
Function đếm trùng lặp cho 2 array:
Public Function DemTrungLap(Arr1 As Variant, Arr2 As Variant) As Long
Dim varElement As Variant
On Error Resume Next
For Each varElement In Arr1
'lMatch = 0
'lMatch = Application.Match(varElement, arr2, 0)
If Not IsError(Application.Match(varElement, Arr2, 0)) Then
DemTrungLap = DemTrungLap + 1
End If
Next varElement
On Error GoTo 0
End Function
Function đếm trùng lặp cho 2 range:
Public Function DemTrungLap(Arr1 As range, Arr2 As range) As Long
Dim varElement As range
On Error Resume Next
For Each varElement In Arr1
If Not IsError(Application.Match(varElement, Arr2, 0)) Then
DemTrungLap = DemTrungLap + 1
End If
Next varElement
On Error GoTo 0
End Function
Chú ý: Trong nhiều tường hợp để đếm trùng lặp chính xác thì cần phải chọn một chuỗi có giá trị duy nhất đi đếm với chuổi có nhiều giá trị trùng lặp trong chính chuỗi đó.